// 导入数据库操作模块
const db = require('../db/index')
// 导入JWT
const jwt = require('jsonwebtoken')
// 导入全局的配置文件
const config = require('../config')
// 导入nanoid
const { nanoid } = require('nanoid');


// 商品列表接口处理函数
exports.generateOrder = (req,res) => {
    
    // 如果req.user中有openid则说明用户已经登录
    if( req.user.openid ){
        // 获取用户的openid
        const openid = req.user.openid
        // 获取用户的商品信息
        const shopids = req.body.shopids
        // 获取用户的总价
        const total_price = req.body.total_price
        // 获取用户的创建时间
        const create_time = new Date().toLocaleString().replace(/\//g,'-').replace(/下午/g,'')
        // 生成订单号为XDR-开头，当前日期时间戳+5位随机字符串
        let id = nanoid(5).toUpperCase()
        // 如果id中包含特殊字符则重新生成
        while( id.includes('-') || id.includes('_') ){
            id = nanoid(5).toUpperCase()
        }
        const trade_sn = 'XDR-' + new Date().getTime() + id
        // 生成随机四位数
        const code = Math.floor(Math.random()*9000+1000)
        // 生成订单状态
        const status = 1
        // 生成订单信息
        const order = {
            openid,
            trade_sn,
            shopids,
            status,
            code,
            total_price,
            create_time,
        }
        console.log(order)
        // 将订单信息插入到数据库中
        db.query('insert into orders set ?',order,(err,result)=>{
            if(err) return res.cc(err)
            if(result.affectedRows !== 1) return res.cc('生成订单失败')
            res.send({status:0,message:'生成订单成功'})
        })
    }else{
        res.send({status:1,message:'请先登录'})
    }
}

